其他
千人万面,奇妙自见:爱奇艺短视频推荐技术中多兴趣召回技术的演变
导 语
01
优秀的国家队教练固然业务水平精湛,但若没有天赋迥异的好苗子,也难以培养出世界级冠军选手;排序技术固然能够通过大量特征和精巧网络将效果提升,但若召回的所有视频本身质量不佳,那排序技术效果的上限将会提前锁死。因此,国家队教练需要多个省市的运动人才作为选拔来源,排序技术需要多个召回源作为待排序内容。
谈到召回技术,熟悉推荐的同学将举出诸多策略与算法,例如策略包括考虑内容关联的频繁项集挖掘Apriori等、考虑用户与内容相关性的召回itemCF等、基于协同过滤的召回SVD等;算法包括将内容变为embedding后再进行近邻检索的item2vec和node2vec、应用内容理解的CDML召回以及近年来兴起的GNN召回等。
同时,由于爱奇艺旗下丰富的产品矩阵,往往一个用户会同时使用包括爱奇艺基线、随刻、奇异果等多种产品。在多端用户行为混合训练的情况下,往往能够抽取出用户在不同端的不同兴趣、不同端用户的共同兴趣。这些兴趣往往能够帮助用户找到自己喜爱的社区与圈子,完成产品间的渗透打通和爱奇艺产品矩阵的复合生态建设。爱奇艺短视频推荐现在使用到的多兴趣召回技术有聚类多兴趣召回、MOE多兴趣召回、单激活多兴趣召回。本文将依次进行介绍。
02
PinnerSage聚类多兴趣召回是传统ii召回基础上结合聚类方法的新型策略。传统的ii召回中往往有两种做法:1,选择用户短期历史行为的每个视频,进行多次ANN查找选出近邻视频,这样的做法不仅时间成本高而且推出视频同质化严重。2,将用户短期历史行为的所有视频embedding进行pooling形成代表用户的user embedding,再进行ANN近邻查找,这样的方式能一定程度的融合信息减少时间空间代价,但很容易造成信息损失, pooling出的embedding如图3所示很可能差了十万八千里。
a. 聚类过程。如图4所示,对用户观看过的所有视频进行聚类操作,Pinnersage聚类采用了hierarchical clustering聚类方法,并不需要像K-Means设置初始类别数,而是首先将每一个视频均看作一类,接下来每两类开始合并,若合并后组内variance增加最少则可以将两类合并为一类,直到variance超过阈值即停止。
03
a. 用户侧的输入主要是用户的偏好序列,包括用户偏好的视频id序列、上传者id序列与内容标签(tag)序列,序列特征经过embedding处理与average pooling操作后得到不同的向量,拼接之后组成MOE多塔的输入,经过MOE多塔计算后得到多个向量表示用户潜在的多个兴趣。
b. 视频侧为单塔结构,输入为用户交互过的视频id、上传者id与内容标签(tag)特征,经过embedding提取和拼接之后使用单塔结构提取信息。
c. 在loss计算上,由于召回是从千万级的视频库中寻找出用户可能感兴趣的几百条视频,因此实际样本中负样本空间十分巨大。为了增加模型对负样本的筛选能力和提升模型负采样的效率,我们在模型中使用batch内负采样,将batch内其他样本作为当前样本的负样本,同时使用focal loss损失函数来提升模型对难样本的识别能力。
经过修改之后的MOE多塔模型上线之后,单召回源的点击率和人均观看时长得到极大提升(全端CTR提升0.64%,召回源推出视频CTR比全端高出28%,展均播放时长比全端高出45%)。
经过修改之后的MOE多塔模型上线之后,单召回源的点击率和人均观看时长得到极大提升。但是MOE多塔共享底层的输入,仅仅使用简单的DNN网络提取不同的向量,导致多个塔之间的区分度比较低,多向量中冗余较多难以优化;此外用户序列特征中实际包含的位置信息对用户比较重要,当前模型难以利用,因此我们希望通过其他的网络来加以利用。
04
4.1 单激活多兴趣召回初版
a. 截取用户观看视频id序列{V1,…VN}作为sample,第N+1个视频作为target输入网络,经过video embedding层后形成embedding序列E={E1,E2,..EN}。
b. E经过transformer构造的兴趣抽取层得到多个兴趣向量M,取|Mi|最大的兴趣向量与target视频的embedding进行sampled softmax loss负采样,因此每次训练实际上只激活一个通道的兴趣向量。
c. 模型训练好后在推理阶段,取出用户所有兴趣向量,逐个进行ANN检索得到召回结果。
初版虽然结构简单,但上线后效果较好,极大提升消费指标、视频覆盖度和多样性。然而初版也存在着不同兴趣向量召回结果重复度较高、特征较少、即时性差等问题,因此也产生了多个版本的演变。
4.2 disagreement-regularzation多兴趣召回
4.3 容量动态化多兴趣召回
4.4 多模态特征多兴趣召回
Transformer部分与4.1-4.3中大致相同,不同点在于训练样本加入上传者和内容标签(tag)特征后经过embedding和pooling部分再进入transformer中。值得注意的有两点:
loss部分依然只对视频id的embedding进行负采样(与MIND等结构不同),这样的目的是让视频id的全部embedding可以进入负采样中,而不用折中使用batch内负采样,能够让最终推理阶段主要使用video id embedding更加精准(推理阶段ANN部分不会使用tag与uploader)。 一个视频往往有多个内容标签(tag),因此在对内容标签(tag)做embedding时需要对所有内容标签(tag)做embedding操作后进行一次pooling。
4.5小结
同时作为一个老少皆宜的内容平台,在爱奇艺一直存在着以家庭为单位,不同年龄段用户使用同一账号的情况,因此同一账号下的历史行为往往来自各个年龄阶段,用户历史行为的复杂性给推荐带来了难题。而单激活多兴趣网络的兴趣向量在学习过程的采样中具随机性、在数学呈现上具正交性,这就使得兴趣向量的搜索范围能够召回不同年龄段所喜爱的海量视频。
单激活多兴趣网络现在也是学术热点之一,希望能够有更多的研究者提出新的idea让推荐技术继续大放异彩。
05
本文也认为多兴趣召回依然有可以优化的方向:
在行为序列的选取上,大部分的多兴趣策略与网络依然只考虑到用户的观看历史,如果能够运用事件知识图谱,将用户在平台上的搜索、订阅等行为一起纳入训练数据中,应该可以抓取用户更多的兴趣与倾向。 在负反馈信息的处理上,多兴趣召回尚无应对之策。视频中的许多点踩、消极评论、不喜欢、取消关注等行为尚且未融入到多兴趣召回中,这些信息对指导兴趣网络的也至关重要,后期该方向将成为重点工作。 在用户的静态信息与偏好特征的整合上,亦有很大的应用空间。这部分特征的组合能够很好地和排序目标对齐,提升召回源质量和排序效果上限。
[1] 2021-2-26期,如何提升链路目标一致性?爱奇艺短视频推荐之粗排模型优化历程[2] AdityaPal, et al. PinnerSage: Multi-Modal User Embedding Framework for Recommendations at Pinterest. KDD 2020[3] Jiaqi Ma, et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts. KDD 2018[4] Yukuo Cen, et al. Controllable Multi-Interest Framework for Recommendation.KDD 2020.[5] Chao Li, et al.Multi-Interest Network with Dynamic Routing for Recommendation at Tmall. CIKM 2019.[6] Jian Li, et al. Multi-Head Attention with Disagreement Regularization. EMNLP 2018
ps. 后台回复“招人01”可以获取具体招聘岗位jd!更多爱奇艺岗位信息点击“阅读原文”获取哦!
TensorFlow Ranking框架在海外推荐业务中的实践与应用